#pragma once

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

typedef int SListTypeData;

typedef struct SListNode
{
	int data;
	struct SListNode* next;
}SListTNode;

void SListPrint(SListTNode* phead);

void SListPushBcak(SListTNode** phead, SListTypeData x); 
void SListPushFront(SListTNode** phead, SListTypeData x);

void SListPopBack(SListTNode** phead);
void SListPopFront(SListTNode** phead);
void SListPopPos(SListTNode** phead, SListTypeData pos);

void SListInsertBack(SListTNode** phead, SListTNode* pos, SListTypeData x);
void SListInsertFront(SListTNode** phead, SListTNode* pos, SListTypeData x);

void SListFind(SListTNode* phead, SListTypeData x);

void SListDestory(SListTNode** phead, SListTypeData x);